package org.huntaway.kindergarten.po.base;

import java.io.Serializable;


/**
 * This is an object that contains data related to the student table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="student"
 */

public abstract class BaseStudentTemp  implements Serializable {

	public static String REF = "StudentTemp";
	public static String PROP_TEACHER = "Teacher";
	public static String PROP_T_NAME = "TName";
	public static String PROP_TEACH_PHONE = "TeachPhone";
	public static String PROP_INDATE = "Indate";
	public static String PROP_CREATE_DATE = "CreateDate";
	public static String PROP_T_STATE = "TState";
	public static String PROP_BIRTHDAY = "Birthday";
	public static String PROP_CLASSINFO = "Classinfo";
	public static String PROP_INTRODUCTION = "Introduction";
	public static String PROP_ADDRESS = "Address";
	public static String PROP_ID = "Id";
	public static String PROP_GENEARCH = "Genearch";
	public static String PROP_UPDATE_DATE = "UpdateDate";
	public static String PROP_REMARK = "Remark";
	public static String PROP_GENEARCH_PHONE = "GenearchPhone";
	public static String PROP_SEX = "sex";


	// constructors
	public BaseStudentTemp () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseStudentTemp (java.lang.Integer id) {
		this.setId(id);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Integer id;

	// fields
	private java.lang.String tName;
	private java.lang.String sex;
	private java.lang.String teacher;
	private java.lang.String teachPhone;
	private java.lang.String genearch;
	private java.lang.String genearchPhone;
	private java.util.Date indate;
	private java.util.Date birthday;
	private java.lang.String remark;
	private java.lang.String introduction;
	private java.lang.Integer tState;
	private java.lang.String address;
	private java.util.Date createDate;
	private java.util.Date updateDate;

	// many to one
	private org.huntaway.kindergarten.po.ClassInfo classinfo;

	// collections
	private java.util.Set<org.huntaway.kindergarten.po.Linkman> linkmans;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="native"
     *  column="student_id"
     */
	public java.lang.Integer getId () {
		return id;
	}

	/**
	 * Set the unique identifier of this class
	 * @param id the new ID
	 */
	public void setId (java.lang.Integer id) {
		this.id = id;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: t_name
	 */
	public java.lang.String getTName () {
		return tName;
	}

	/**
	 * Set the value related to the column: t_name
	 * @param tName the t_name value
	 */
	public void setTName (java.lang.String tName) {
		this.tName = tName;
	}



	/**
	 * Return the value associated with the column: sex
	 */
	public java.lang.String getSex () {
		return sex;
	}

	/**
	 * Set the value related to the column: sex
	 * @param sex the sex value
	 */
	public void setSex (java.lang.String sex) {
		this.sex = sex;
	}



	/**
	 * Return the value associated with the column: teacher
	 */
	public java.lang.String getTeacher () {
		return teacher;
	}

	/**
	 * Set the value related to the column: teacher
	 * @param teacher the teacher value
	 */
	public void setTeacher (java.lang.String teacher) {
		this.teacher = teacher;
	}



	/**
	 * Return the value associated with the column: teach_phone
	 */
	public java.lang.String getTeachPhone () {
		return teachPhone;
	}

	/**
	 * Set the value related to the column: teach_phone
	 * @param teachPhone the teach_phone value
	 */
	public void setTeachPhone (java.lang.String teachPhone) {
		this.teachPhone = teachPhone;
	}



	/**
	 * Return the value associated with the column: genearch
	 */
	public java.lang.String getGenearch () {
		return genearch;
	}

	/**
	 * Set the value related to the column: genearch
	 * @param genearch the genearch value
	 */
	public void setGenearch (java.lang.String genearch) {
		this.genearch = genearch;
	}



	/**
	 * Return the value associated with the column: genearch_phone
	 */
	public java.lang.String getGenearchPhone () {
		return genearchPhone;
	}

	/**
	 * Set the value related to the column: genearch_phone
	 * @param genearchPhone the genearch_phone value
	 */
	public void setGenearchPhone (java.lang.String genearchPhone) {
		this.genearchPhone = genearchPhone;
	}



	/**
	 * Return the value associated with the column: indate
	 */
	public java.util.Date getIndate () {
		return indate;
	}

	/**
	 * Set the value related to the column: indate
	 * @param indate the indate value
	 */
	public void setIndate (java.util.Date indate) {
		this.indate = indate;
	}



	/**
	 * Return the value associated with the column: birthday
	 */
	public java.util.Date getBirthday () {
		return birthday;
	}

	/**
	 * Set the value related to the column: birthday
	 * @param birthday the birthday value
	 */
	public void setBirthday (java.util.Date birthday) {
		this.birthday = birthday;
	}



	/**
	 * Return the value associated with the column: remark
	 */
	public java.lang.String getRemark () {
		return remark;
	}

	/**
	 * Set the value related to the column: remark
	 * @param remark the remark value
	 */
	public void setRemark (java.lang.String remark) {
		this.remark = remark;
	}



	/**
	 * Return the value associated with the column: introduction
	 */
	public java.lang.String getIntroduction () {
		return introduction;
	}

	/**
	 * Set the value related to the column: introduction
	 * @param introduction the introduction value
	 */
	public void setIntroduction (java.lang.String introduction) {
		this.introduction = introduction;
	}



	/**
	 * Return the value associated with the column: t_state
	 */
	public java.lang.Integer getTState () {
		return tState;
	}

	/**
	 * Set the value related to the column: t_state
	 * @param tState the t_state value
	 */
	public void setTState (java.lang.Integer tState) {
		this.tState = tState;
	}



	/**
	 * Return the value associated with the column: address
	 */
	public java.lang.String getAddress () {
		return address;
	}

	/**
	 * Set the value related to the column: address
	 * @param address the address value
	 */
	public void setAddress (java.lang.String address) {
		this.address = address;
	}



	/**
	 * Return the value associated with the column: create_date
	 */
	public java.util.Date getCreateDate () {
		return createDate;
	}

	/**
	 * Set the value related to the column: create_date
	 * @param createDate the create_date value
	 */
	public void setCreateDate (java.util.Date createDate) {
		this.createDate = createDate;
	}



	/**
	 * Return the value associated with the column: update_date
	 */
	public java.util.Date getUpdateDate () {
		return updateDate;
	}

	/**
	 * Set the value related to the column: update_date
	 * @param updateDate the update_date value
	 */
	public void setUpdateDate (java.util.Date updateDate) {
		this.updateDate = updateDate;
	}



	/**
	 * Return the value associated with the column: classinfo_id
	 */
	public org.huntaway.kindergarten.po.ClassInfo getClassinfo () {
		return classinfo;
	}

	/**
	 * Set the value related to the column: classinfo_id
	 * @param classinfo the classinfo_id value
	 */
	public void setClassinfo (org.huntaway.kindergarten.po.ClassInfo classinfo) {
		this.classinfo = classinfo;
	}



	/**
	 * Return the value associated with the column: Linkmans
	 */
	public java.util.Set<org.huntaway.kindergarten.po.Linkman> getLinkmans () {
		return linkmans;
	}

	/**
	 * Set the value related to the column: Linkmans
	 * @param linkmans the Linkmans value
	 */
	public void setLinkmans (java.util.Set<org.huntaway.kindergarten.po.Linkman> linkmans) {
		this.linkmans = linkmans;
	}

	public void addToLinkmans (org.huntaway.kindergarten.po.Linkman linkman) {
		if (null == getLinkmans()) setLinkmans(new java.util.TreeSet<org.huntaway.kindergarten.po.Linkman>());
		getLinkmans().add(linkman);
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof org.huntaway.kindergarten.po.StudentTemp)) return false;
		else {
			org.huntaway.kindergarten.po.StudentTemp studentTemp = (org.huntaway.kindergarten.po.StudentTemp) obj;
			if (null == this.getId() || null == studentTemp.getId()) return false;
			else return (this.getId().equals(studentTemp.getId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}